#ifndef CONTINENTS_H
#define CONTINENTS_H

#include <QStringList>
#include <QMap>
#include "State.h"

class Continents
{
    public:
        Continents();
        bool isFull(const QString& n, const QList<State*>& l) const;
        QStringList fullList(const QList<State*>& l) const;
        size_t reinforcementBonus(const QString& n) const;
        size_t totalReinforcementBonus(const QList<State*>& l) const;

    private:

        struct Continent
        {
            Continent(size_t b = 0, size_t l = 0) : bonus(b), lands(l)
            { }
            size_t bonus;
            size_t lands;
        };

        QMap<QString, Continent> m_table;

};

Continents* getContinents();

#endif
